home *** CD-ROM | disk | FTP | other *** search
/ VRML 2.0 Sourcebook (2nd Edition) / VRML 2.0 Sourcebook CD [md5 fed90f4f9c39d5a60d477058775c7e21].iso / software / radiance / ez3d / win95nt / data.z / boxDragger.iv < prev    next >
Text File  |  1995-12-04  |  23KB  |  844 lines

  1. #Inventor V2.0 ascii
  2. DEF boxOverallStyle Group {
  3.     DrawStyle { style LINES lineWidth 1 }
  4.     LightModel { model PHONG }
  5.     Texture2 {}
  6.     NormalBinding { value DEFAULT }
  7.     Normal {}
  8.     Material {
  9.     diffuseColor    [ 0 .8 0 ]
  10.     emissiveColor    [ 0 .8 0 ]
  11.     }
  12.     Complexity { value .01 textureQuality 0 }
  13.     Font { name "Helvetica-Bold" size 15 }
  14. }
  15.  
  16. DEF SO_BOX_DRAGGER_TRANSLATOR_STYLE Group {
  17.     DrawStyle { style LINES lineWidth 2 }
  18. }
  19. DEF SO_BOX_DRAGGER_CUBE_COORDS Coordinate3 { 
  20.     point [ -1.001 1.001 1.001, 1.001 1.001 1.001, 1.001 1.001 -1.001, -1.001 1.001 -1.001,
  21.               -1.001 -1.001 1.001, 1.001 -1.001 1.001, 1.001 -1.001 -1.001, -1.001 -1.001 -1.001 ] 
  22. }
  23. DEF boxTranslator1 Separator {
  24.     renderCaching ON
  25.     USE SO_BOX_DRAGGER_CUBE_COORDS
  26.     DrawStyle { style INVISIBLE }
  27.     IndexedFaceSet { coordIndex [ 0, 1, 2, 3 ] }
  28.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE
  29. #    IndexedLineSet { coordIndex [ 0, 1, 2, 3, 0 ] }
  30.     IndexedLineSet {     
  31.     coordIndex [ 0, 1, -1, 1, 2, -1, 2, 3, -1, 3, 0, -1, ] 
  32.     }
  33. }
  34. DEF boxTranslator2 Separator {
  35.     renderCaching ON
  36.     USE SO_BOX_DRAGGER_CUBE_COORDS
  37.     DrawStyle { style INVISIBLE }
  38.     IndexedFaceSet { coordIndex [ 7, 6, 5, 4 ] }
  39.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE
  40. #    IndexedLineSet { coordIndex [ 7, 6, 5, 4, 7 ] }
  41.     IndexedLineSet {     
  42.     coordIndex [ 4, 5, -1, 5, 6, -1, 6, 7, -1, 7, 4, -1, ] 
  43.     }
  44. }
  45. DEF boxTranslator3 Separator {
  46.     renderCaching ON
  47.     USE SO_BOX_DRAGGER_CUBE_COORDS
  48.     DrawStyle { style INVISIBLE }
  49.     IndexedFaceSet { coordIndex [ 0, 3, 7, 4 ] }
  50.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE
  51. #    IndexedLineSet { coordIndex [ 0, 3, 7, 4, 0 ] }
  52.     IndexedLineSet {     
  53.     coordIndex [ 3, 0, -1, 0, 4, -1, 3, 7, -1, 7, 4, -1, ] 
  54.     }
  55. }
  56. DEF boxTranslator4 Separator {
  57.     renderCaching ON
  58.     USE SO_BOX_DRAGGER_CUBE_COORDS
  59.     DrawStyle { style INVISIBLE }
  60.     IndexedFaceSet { coordIndex [ 5, 6, 2, 1 ] }
  61.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE
  62. #    IndexedLineSet { coordIndex [ 5, 6, 2, 1, 5 ] }
  63.     IndexedLineSet {     
  64.     coordIndex [ 1, 2, -1, 1, 5, -1, 2, 6, -1, 5, 6, -1, ] 
  65.     }
  66. }
  67. DEF boxTranslator5 Separator {
  68.     renderCaching ON
  69.     USE SO_BOX_DRAGGER_CUBE_COORDS
  70.     DrawStyle { style INVISIBLE }
  71.     IndexedFaceSet { coordIndex [ 0, 4, 5, 1 ] }
  72.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE
  73. #    IndexedLineSet { coordIndex [ 0, 4, 5, 1, 0 ] }
  74.     IndexedLineSet {     
  75.     coordIndex [ 0, 1, -1, 0, 4, -1, 1, 5, -1, 4, 5, -1, ] 
  76.     }
  77. }
  78. DEF boxTranslator6 Separator {
  79.     renderCaching ON
  80.     USE SO_BOX_DRAGGER_CUBE_COORDS
  81.     DrawStyle { style INVISIBLE }
  82.     IndexedFaceSet { coordIndex [ 3, 2, 6, 7 ] }
  83.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE
  84. #    IndexedLineSet { coordIndex [ 3, 2, 6, 7, 3 ] }
  85.     IndexedLineSet {     
  86.     coordIndex [ 2, 3, -1, 2, 6, -1, 3, 7, -1, 6, 7, -1, ] 
  87.     }
  88. }
  89. DEF SO_BOX_DRAGGER_TRANSLATOR_STYLE_ACTIVE Group {
  90.     Material {
  91.     diffuseColor    [ .8 .8 0.0 ]
  92.     emissiveColor    [ .8 .8 0.0 ]
  93.     }
  94.     DrawStyle { style LINES lineWidth 3 }
  95.     ShapeHints {
  96.     vertexOrdering COUNTERCLOCKWISE
  97.     }
  98.     NormalBinding { value OVERALL }
  99. }
  100. DEF boxTranslator1Active Separator {
  101.     renderCaching ON
  102.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  103.     Normal { vector [ 0 1 0 ] }
  104.     Coordinate3 { point [ 1  1  1, 1  1 -1, -1  1 -1, -1  1  1 ] }
  105.     FaceSet { }
  106. }
  107. DEF boxTranslator2Active Separator {
  108.     renderCaching ON
  109.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  110.     Normal { vector [ 0 -1 0 ] }
  111.     Coordinate3 { point [ 1  -1  1, 1  -1 -1, -1  -1 -1, -1  -1  1 ] }
  112.     FaceSet { }
  113. }
  114. DEF boxTranslator3Active Separator {
  115.     renderCaching ON
  116.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  117.     Normal { vector [ -1 0 0 ] }
  118.     Coordinate3 { point [ -1  1  1, -1  1 -1, -1  -1 -1, -1  -1  1 ] }
  119.     FaceSet { }
  120. }
  121. DEF boxTranslator4Active Separator {
  122.     renderCaching ON
  123.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  124.     Normal { vector [ 1 0 0 ] }
  125.     Coordinate3 { point [ 1  1  1, 1  1 -1, 1  -1 -1, 1  -1  1 ] }
  126.     FaceSet { }
  127. }
  128. DEF boxTranslator5Active Separator {
  129.     renderCaching ON
  130.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  131.     Normal { vector [ 0 0 1 ] }
  132.     Coordinate3 { point [ 1  1  1, 1  -1 1, -1  -1 1, -1  1  1 ] }
  133.     FaceSet { }
  134. }
  135. DEF boxTranslator6Active Separator {
  136.     renderCaching ON
  137.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  138.     Normal { vector [ 0 0 -1 ] }
  139.     Coordinate3 { point [ 1  1  -1, 1  -1 -1, -1  -1 -1, -1  1  -1 ] }
  140.     FaceSet { }
  141. }
  142.  
  143.  
  144. DEF SO_BOX_DRAGGER_ROTATOR_STYLE Group {
  145.     Material {
  146.     diffuseColor    [ 0.0 .8 0.0 ]
  147.     emissiveColor    [ 0.0 .8 0.0 ]
  148.     }
  149.     DrawStyle { lineWidth 1 }
  150.     Complexity { value .3 textureQuality 0 }
  151. }
  152. DEF SO_BOX_DRAGGER_ROTATOR_STYLE_ACTIVE Group {
  153.     Material {
  154.     diffuseColor    [ .8 .8 0.0 ]
  155.     emissiveColor    [ .8 .8 0.0 ]
  156.     }
  157.     DrawStyle { lineWidth 3 }
  158.     Complexity { value .3 textureQuality 0 }
  159. }
  160. DEF SO_BOX_DRAGGER_ROTATOR_1 Group {
  161.     Coordinate3 { point [ 0 0 0, 0 1.1 0 ] }
  162.     LineSet {}
  163.     Translation { translation 0 1.05 0 }
  164.     Sphere { radius .05 }
  165.     Translation { translation 0 .05 0 }
  166.     Text2 { string "Y" }
  167. }
  168. DEF SO_BOX_DRAGGER_ROTATOR_2 Group {
  169.     Coordinate3 { point [ 0 0 0, 0 -1.1 0 ] }
  170.     LineSet {}
  171.     Translation { translation 0 -1.1 0 }
  172.     Sphere { radius .1 }
  173. }
  174. DEF SO_BOX_DRAGGER_ROTATOR_3 Group {
  175.     Coordinate3 { point [ 0 0 0, -1.1 0 0 ] }
  176.     LineSet {}
  177.     Translation { translation -1.1 0 0 }
  178.     Sphere { radius .1 }
  179. }
  180. DEF SO_BOX_DRAGGER_ROTATOR_4 Group {
  181.     Coordinate3 { point [ 0 0 0, 1.1 0 0 ] }
  182.     LineSet {}
  183.     Translation { translation 1.1 0 0 }
  184.     Sphere { radius .05 }
  185.     Translation { translation .05 0 0 }
  186.     Text2 { string "X" }
  187. }
  188. DEF SO_BOX_DRAGGER_ROTATOR_5 Group {
  189.     Coordinate3 { point [ 0 0 0, 0 0 1.1 ] }
  190.     LineSet {}
  191.     Translation { translation 0 0 1.1 }
  192.     Sphere { radius .05 }
  193.     Translation { translation  0 0 .05 }
  194.     Text2 { string "Z" }
  195. }
  196. DEF SO_BOX_DRAGGER_ROTATOR_6 Group {
  197.     Coordinate3 { point [ 0 0 0, 0 0 -1.1 ] }
  198.     LineSet {}
  199.     Translation { translation 0 0 -1.1 }
  200.     Sphere { radius .1 }
  201. }
  202.  
  203. DEF boxRotator1 Separator {
  204.     renderCaching ON
  205.     USE SO_BOX_DRAGGER_ROTATOR_STYLE
  206.     USE SO_BOX_DRAGGER_ROTATOR_1
  207. }
  208. DEF boxRotator2 Separator {
  209.     renderCaching ON
  210.     USE SO_BOX_DRAGGER_ROTATOR_STYLE
  211.     USE SO_BOX_DRAGGER_ROTATOR_2
  212. }
  213. DEF boxRotator3 Separator {
  214.     renderCaching ON
  215.     USE SO_BOX_DRAGGER_ROTATOR_STYLE
  216.     USE SO_BOX_DRAGGER_ROTATOR_3
  217. }
  218. DEF boxRotator4 Separator {
  219.     renderCaching ON
  220.     USE SO_BOX_DRAGGER_ROTATOR_STYLE
  221.     USE SO_BOX_DRAGGER_ROTATOR_4
  222. }
  223. DEF boxRotator5 Separator {
  224.     renderCaching ON
  225.     USE SO_BOX_DRAGGER_ROTATOR_STYLE
  226.     USE SO_BOX_DRAGGER_ROTATOR_5
  227. }
  228. DEF boxRotator6 Separator {
  229.     renderCaching ON
  230.     USE SO_BOX_DRAGGER_ROTATOR_STYLE
  231.     USE SO_BOX_DRAGGER_ROTATOR_6
  232. }
  233. DEF boxRotator1Active Separator {
  234.     renderCaching ON
  235.     USE SO_BOX_DRAGGER_ROTATOR_STYLE_ACTIVE
  236.     USE SO_BOX_DRAGGER_ROTATOR_1
  237. }
  238. DEF boxRotator2Active Separator {
  239.     renderCaching ON
  240.     USE SO_BOX_DRAGGER_ROTATOR_STYLE_ACTIVE
  241.     USE SO_BOX_DRAGGER_ROTATOR_2
  242. }
  243. DEF boxRotator3Active Separator {
  244.     renderCaching ON
  245.     USE SO_BOX_DRAGGER_ROTATOR_STYLE_ACTIVE
  246.     USE SO_BOX_DRAGGER_ROTATOR_3
  247. }
  248. DEF boxRotator4Active Separator {
  249.     renderCaching ON
  250.     USE SO_BOX_DRAGGER_ROTATOR_STYLE_ACTIVE
  251.     USE SO_BOX_DRAGGER_ROTATOR_4
  252. }
  253. DEF boxRotator5Active Separator {
  254.     renderCaching ON
  255.     USE SO_BOX_DRAGGER_ROTATOR_STYLE_ACTIVE
  256.     USE SO_BOX_DRAGGER_ROTATOR_5
  257. }
  258. DEF boxRotator6Active Separator {
  259.     renderCaching ON
  260.     USE SO_BOX_DRAGGER_ROTATOR_STYLE_ACTIVE
  261.     USE SO_BOX_DRAGGER_ROTATOR_6
  262. }
  263.  
  264. DEF SO_BOX_DRAGGER_SCALING_STYLE Group {
  265.     DrawStyle { lineWidth 1 }
  266. }
  267. DEF SO_BOX_DRAGGER_SCALING_STYLE_ACTIVE Group {
  268.     Material {
  269.     diffuseColor    [ .8 .8 0.0 ]
  270.     emissiveColor    [ .8 .8 0.0 ]
  271.     }
  272.     DrawStyle { lineWidth 3 }
  273. }
  274. DEF SO_BOX_DRAGGER_SCALE_1 Group {
  275.     Translation { translation 1 1 1 }
  276.     Cube { width .2 height .2 depth .2 }
  277. }
  278. DEF SO_BOX_DRAGGER_SCALE_2 Group {
  279.     Translation { translation 1 1 -1 }
  280.     Cube { width .2 height .2 depth .2 }
  281. }
  282. DEF SO_BOX_DRAGGER_SCALE_3 Group {
  283.     Translation { translation 1 -1 1 }
  284.     Cube { width .2 height .2 depth .2 }
  285. }
  286. DEF SO_BOX_DRAGGER_SCALE_4 Group {
  287.     Translation { translation 1 -1 -1 }
  288.     Cube { width .2 height .2 depth .2 }
  289. }
  290. DEF SO_BOX_DRAGGER_SCALE_5 Group {
  291.     Translation { translation -1 1 1 }
  292.     Cube { width .2 height .2 depth .2 }
  293. }
  294. DEF SO_BOX_DRAGGER_SCALE_6 Group {
  295.     Translation { translation -1 1 -1 }
  296.     Cube { width .2 height .2 depth .2 }
  297. }
  298. DEF SO_BOX_DRAGGER_SCALE_7 Group {
  299.     Translation { translation -1 -1 1 }
  300.     Cube { width .2 height .2 depth .2 }
  301. }
  302. DEF SO_BOX_DRAGGER_SCALE_8 Group {
  303.     Translation { translation -1 -1 -1 }
  304.     Cube { width .2 height .2 depth .2 }
  305. }
  306.  
  307. DEF boxScale1 Separator {
  308.     renderCaching ON
  309.     USE SO_BOX_DRAGGER_SCALING_STYLE
  310.     USE SO_BOX_DRAGGER_SCALE_1
  311. }
  312. DEF boxScale2 Separator {
  313.     renderCaching ON
  314.     USE SO_BOX_DRAGGER_SCALING_STYLE
  315.     USE SO_BOX_DRAGGER_SCALE_2
  316. }
  317. DEF boxScale3 Separator {
  318.     renderCaching ON
  319.     USE SO_BOX_DRAGGER_SCALING_STYLE
  320.     USE SO_BOX_DRAGGER_SCALE_3
  321. }
  322. DEF boxScale4 Separator {
  323.     renderCaching ON
  324.     USE SO_BOX_DRAGGER_SCALING_STYLE
  325.     USE SO_BOX_DRAGGER_SCALE_4
  326. }
  327. DEF boxScale5 Separator {
  328.     renderCaching ON
  329.     USE SO_BOX_DRAGGER_SCALING_STYLE
  330.     USE SO_BOX_DRAGGER_SCALE_5
  331. }
  332. DEF boxScale6 Separator {
  333.     renderCaching ON
  334.     USE SO_BOX_DRAGGER_SCALING_STYLE
  335.     USE SO_BOX_DRAGGER_SCALE_6
  336. }
  337. DEF boxScale7 Separator {
  338.     renderCaching ON
  339.     USE SO_BOX_DRAGGER_SCALING_STYLE
  340.     USE SO_BOX_DRAGGER_SCALE_7
  341. }
  342. DEF boxScale8 Separator {
  343.     renderCaching ON
  344.     USE SO_BOX_DRAGGER_SCALING_STYLE
  345.     USE SO_BOX_DRAGGER_SCALE_8
  346. }
  347. DEF boxScale1Active Separator {
  348.     renderCaching ON
  349.     USE SO_BOX_DRAGGER_SCALING_STYLE_ACTIVE
  350.     USE SO_BOX_DRAGGER_SCALE_1
  351. }
  352. DEF boxScale2Active Separator {
  353.     renderCaching ON
  354.     USE SO_BOX_DRAGGER_SCALING_STYLE_ACTIVE
  355.     USE SO_BOX_DRAGGER_SCALE_2
  356. }
  357. DEF boxScale3Active Separator {
  358.     renderCaching ON
  359.     USE SO_BOX_DRAGGER_SCALING_STYLE_ACTIVE
  360.     USE SO_BOX_DRAGGER_SCALE_3
  361. }
  362. DEF boxScale4Active Separator {
  363.     renderCaching ON
  364.     USE SO_BOX_DRAGGER_SCALING_STYLE_ACTIVE
  365.     USE SO_BOX_DRAGGER_SCALE_4
  366. }
  367. DEF boxScale5Active Separator {
  368.     renderCaching ON
  369.     USE SO_BOX_DRAGGER_SCALING_STYLE_ACTIVE
  370.     USE SO_BOX_DRAGGER_SCALE_5
  371. }
  372. DEF boxScale6Active Separator {
  373.     renderCaching ON
  374.     USE SO_BOX_DRAGGER_SCALING_STYLE_ACTIVE
  375.     USE SO_BOX_DRAGGER_SCALE_6
  376. }
  377. DEF boxScale7Active Separator {
  378.     renderCaching ON
  379.     USE SO_BOX_DRAGGER_SCALING_STYLE_ACTIVE
  380.     USE SO_BOX_DRAGGER_SCALE_7
  381. }
  382. DEF boxScale8Active Separator {
  383.     renderCaching ON
  384.     USE SO_BOX_DRAGGER_SCALING_STYLE_ACTIVE
  385.     USE SO_BOX_DRAGGER_SCALE_8
  386. }
  387.  
  388. DEF SO_BOX_DRAGGER_FEEDBACK_STYLE Group {
  389.     PickStyle { style UNPICKABLE }
  390.     Material {
  391.     diffuseColor    [ 0.36 0.05 0.44 ]
  392.     emissiveColor    [ 0.36 0.05 0.44 ]
  393.     }
  394.     DrawStyle { lineWidth 1 }
  395.     Complexity { value .3 textureQuality 0 }
  396. }
  397.  
  398. DEF SO_BOX_DRAGGER_FEEDBACK_ACTIVE_STYLE Group {
  399.     PickStyle { style UNPICKABLE }
  400.     Material {
  401.     diffuseColor    [ .8 .8 0 ]
  402.     emissiveColor    [ .8 .8 0 ]
  403.     }
  404.     DrawStyle { lineWidth 1 }
  405.     Complexity { value .3 textureQuality 0 }
  406. }
  407.  
  408. DEF SO_BOX_DRAGGER_FEEDBACK_SELECT_STYLE Group {
  409.     PickStyle { style UNPICKABLE }
  410.     Material {
  411.     diffuseColor    [ 0.8 0.3 0.1 ]
  412.     emissiveColor    [ 0.8 0.3 0.1 ]
  413.     }
  414.     DrawStyle { lineWidth 1 }
  415.     Complexity { value .3 textureQuality 0 }
  416. }
  417.  
  418. DEF SO_BOX_DRAGGER_Y_AXIS Group {
  419.     # shaft
  420.     Coordinate3 { point [ 0 -5. 0, 0 5. 0 ] }
  421.     LineSet {}
  422.  
  423.     # top
  424.     Translation { translation 0 5. 0 }
  425.     Cone { height 0.075 bottomRadius 0.0375 }
  426.  
  427.     # bottom
  428.     Translation { translation 0 -10. 0 }
  429.     RotationXYZ { axis Z angle 3.14159 }
  430.     Cone { height 0.075 bottomRadius 0.0375 }
  431. }
  432.  
  433. DEF boxXAxisFeedback Separator {
  434.     renderCaching ON
  435.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  436.     RotationXYZ { axis Z angle 1.57079 }
  437.     USE SO_BOX_DRAGGER_Y_AXIS
  438. }
  439. DEF boxYAxisFeedback Separator {
  440.     renderCaching ON
  441.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  442.     USE SO_BOX_DRAGGER_Y_AXIS
  443. }
  444. DEF boxZAxisFeedback Separator {
  445.     renderCaching ON
  446.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  447.     RotationXYZ { axis X angle 1.57079 }
  448.     USE SO_BOX_DRAGGER_Y_AXIS
  449. }
  450.  
  451. DEF boxXAxisFeedbackActive Separator {
  452.     renderCaching ON
  453.     USE SO_BOX_DRAGGER_FEEDBACK_ACTIVE_STYLE
  454.     RotationXYZ { axis Z angle 1.57079 }
  455.     USE SO_BOX_DRAGGER_Y_AXIS
  456. }
  457. DEF boxYAxisFeedbackActive Separator {
  458.     renderCaching ON
  459.     USE SO_BOX_DRAGGER_FEEDBACK_ACTIVE_STYLE
  460.     USE SO_BOX_DRAGGER_Y_AXIS
  461. }
  462. DEF boxZAxisFeedbackActive Separator {
  463.     renderCaching ON
  464.     USE SO_BOX_DRAGGER_FEEDBACK_ACTIVE_STYLE
  465.     RotationXYZ { axis X angle 1.57079 }
  466.     USE SO_BOX_DRAGGER_Y_AXIS
  467. }
  468.  
  469. DEF boxXAxisFeedbackSelect Separator {
  470.     renderCaching ON
  471.     USE SO_BOX_DRAGGER_FEEDBACK_SELECT_STYLE
  472.     RotationXYZ { axis Z angle 1.57079 }
  473.     USE SO_BOX_DRAGGER_Y_AXIS
  474. }
  475. DEF boxYAxisFeedbackSelect Separator {
  476.     renderCaching ON
  477.     USE SO_BOX_DRAGGER_FEEDBACK_SELECT_STYLE
  478.     USE SO_BOX_DRAGGER_Y_AXIS
  479. }
  480. DEF boxZAxisFeedbackSelect Separator {
  481.     renderCaching ON
  482.     USE SO_BOX_DRAGGER_FEEDBACK_SELECT_STYLE
  483.     RotationXYZ { axis X angle 1.57079 }
  484.     USE SO_BOX_DRAGGER_Y_AXIS
  485. }
  486.  
  487. DEF boxXCrosshairFeedback Separator {
  488.     renderCaching ON
  489.     USE SO_BOX_DRAGGER_FEEDBACK_ACTIVE_STYLE
  490.     Coordinate3 { point [ -0.125 0 0, 0.125 0 0 ] }
  491.     LineSet {}
  492. }
  493. DEF boxYCrosshairFeedback Separator {
  494.     renderCaching ON
  495.     USE SO_BOX_DRAGGER_FEEDBACK_ACTIVE_STYLE
  496.     Coordinate3 { point [ 0 -0.125 0, 0 0.125 0 ] }
  497.     LineSet {}
  498. }
  499. DEF boxZCrosshairFeedback Separator {
  500.     renderCaching ON
  501.     USE SO_BOX_DRAGGER_FEEDBACK_ACTIVE_STYLE
  502.     Coordinate3 { point [ 0 0 -0.125, 0 0 0.125 ] }
  503.     LineSet {}
  504. }
  505.  
  506. DEF SO_BOX_RADIAL_FEEDBACK_VERTICAL Group {
  507.  
  508.     # A vertical axis 4.5 units tall
  509.  
  510.     # shaft
  511.     Coordinate3 { point [ 0 -2.2 0, 0 2.2 0 ] }
  512.     LineSet {}
  513.  
  514.     # top cone
  515.     Translation { translation 0 2.2 0 }
  516.     Cone { height 0.075 bottomRadius 0.0375 }
  517.  
  518.     # bottom cone
  519.     Translation { translation 0 -4.4 0 }
  520.     RotationXYZ { axis Z angle 3.14159 }
  521.     Cone { height 0.075 bottomRadius 0.0375 }
  522. }
  523.  
  524. DEF boxRadialFeedback Separator {
  525.     renderCaching ON
  526.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  527.     
  528.     # 4 different diagonals
  529.     Separator {
  530.     Rotation { rotation 1 0 1 .95531662 }
  531.     USE SO_BOX_RADIAL_FEEDBACK_VERTICAL
  532.     }
  533.     Separator {
  534.     Rotation { rotation -1 0 1 .95531662 }
  535.     USE SO_BOX_RADIAL_FEEDBACK_VERTICAL
  536.     }
  537.     Separator {
  538.     Rotation { rotation -1 0 -1 .95531662 }
  539.     USE SO_BOX_RADIAL_FEEDBACK_VERTICAL
  540.     }
  541.     Separator {
  542.     Rotation { rotation 1 0 -1 .95531662 }
  543.     USE SO_BOX_RADIAL_FEEDBACK_VERTICAL
  544.     }
  545. }
  546.  
  547. DEF SO_BOX_Y_CIRCLE_COORDS_AND_NORMALS Group {
  548.  
  549.     # Scale this up from unit size to intersect our rotation knobs:
  550.     Scale { scaleFactor 1.1 1.1 1.1 }
  551.  
  552.     NormalBinding { value PER_VERTEX }
  553.     Coordinate3 {
  554.     point [
  555.  
  556.         # first quadrant
  557.         1.0  0  0.0,
  558.  
  559.         0.980785  0  0.195090,
  560.         0.923880  0  0.382683,
  561.         0.831470  0  0.555570,
  562.         0.707107  0  0.707107,
  563.         0.555570  0  0.831470,
  564.         0.382683  0  0.923880,
  565.         0.195090  0  0.980785,
  566.  
  567.         0.0  0  1.0,
  568.  
  569.         # second quadrant
  570.         0.0  0  1.0,
  571.  
  572.         -0.195090  0  0.980785,
  573.         -0.382683  0  0.923880,
  574.         -0.555570  0  0.831470,
  575.         -0.707107  0  0.707107,
  576.         -0.831470  0  0.555570,
  577.         -0.923880  0  0.382683,
  578.         -0.980785  0  0.195090,
  579.  
  580.         -1.0  0  0.0,
  581.  
  582.         # third quadrant
  583.         -1.0  0  0.0,
  584.  
  585.         -0.980785  0  -0.195090,
  586.         -0.923880  0  -0.382683,
  587.         -0.831470  0  -0.555570,
  588.         -0.707107  0  -0.707107,
  589.         -0.555570  0  -0.831470,
  590.         -0.382683  0  -0.923880,
  591.         -0.195090  0  -0.980785,
  592.  
  593.         0.0  0  -1.0,
  594.  
  595.         # fourth quadrant
  596.         0.0  0  -1.0,
  597.  
  598.         0.195090  0  -0.980785,
  599.         0.382683  0  -0.923880,
  600.         0.555570  0  -0.831470,
  601.         0.707107  0  -0.707107,
  602.         0.831470  0  -0.555570,
  603.         0.923880  0  -0.382683,
  604.         0.980785  0  -0.195090,
  605.  
  606.         1.0  0  0.0,
  607.  
  608.     ]
  609.     }
  610.  
  611.     Normal {
  612.     vector [ 
  613.  
  614.         # first quadrant
  615.         1.0  0  0.0,
  616.  
  617.         0.980785  0  0.195090,
  618.         0.923880  0  0.382683,
  619.         0.831470  0  0.555570,
  620.         0.707107  0  0.707107,
  621.         0.555570  0  0.831470,
  622.         0.382683  0  0.923880,
  623.         0.195090  0  0.980785,
  624.  
  625.         0.0  0  1.0,
  626.  
  627.         # second quadrant
  628.         0.0  0  1.0,
  629.  
  630.         -0.195090  0  0.980785,
  631.         -0.382683  0  0.923880,
  632.         -0.555570  0  0.831470,
  633.         -0.707107  0  0.707107,
  634.         -0.831470  0  0.555570,
  635.         -0.923880  0  0.382683,
  636.         -0.980785  0  0.195090,
  637.  
  638.         -1.0  0  0.0,
  639.         # third quadrant
  640.         -1.0  0  0.0,
  641.  
  642.         -0.980785  0  -0.195090,
  643.         -0.923880  0  -0.382683,
  644.         -0.831470  0  -0.555570,
  645.         -0.707107  0  -0.707107,
  646.         -0.555570  0  -0.831470,
  647.         -0.382683  0  -0.923880,
  648.         -0.195090  0  -0.980785,
  649.  
  650.         0.0  0  -1.0,
  651.  
  652.         # fourth quadrant
  653.         0.0  0  -1.0,
  654.  
  655.         0.195090  0  -0.980785,
  656.         0.382683  0  -0.923880,
  657.         0.555570  0  -0.831470,
  658.         0.707107  0  -0.707107,
  659.         0.831470  0  -0.555570,
  660.         0.923880  0  -0.382683,
  661.         0.980785  0  -0.195090,
  662.  
  663.         1.0  0  0.0,
  664.     ]
  665.     }
  666. }
  667.  
  668. DEF boxXCircleFeedback Separator {
  669.     renderCaching ON
  670.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  671.  
  672.     RotationXYZ { axis Z angle 1.57079 }
  673.     USE SO_BOX_Y_CIRCLE_COORDS_AND_NORMALS 
  674.     LineSet {}
  675. }
  676.  
  677. DEF boxYCircleFeedback Separator {
  678.     renderCaching ON
  679.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  680.  
  681.     USE SO_BOX_Y_CIRCLE_COORDS_AND_NORMALS 
  682.     LineSet {}
  683. }
  684. DEF boxZCircleFeedback Separator {
  685.     renderCaching ON
  686.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  687.  
  688.     RotationXYZ { axis X angle 1.57079 }
  689.     USE SO_BOX_Y_CIRCLE_COORDS_AND_NORMALS 
  690.     LineSet {}
  691. }
  692.  
  693. # A purple box with a yellow top.
  694. # The top will be aligned by the dragger to 
  695. # match the plane of motion
  696. DEF boxTranslateBoxFeedback Separator {
  697.     renderCaching ON
  698.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  699.  
  700.     Coordinate3 {
  701.     point [ 
  702.         -1 1 -1, -1 -1 -1,
  703.          1 1 -1,  1 -1 -1,
  704.          1 1  1,  1 -1  1,
  705.         -1 1  1, -1 -1  1,
  706.         -1 -1 -1, 1 -1 -1,
  707.          1 -1 -1, 1 -1  1,
  708.          1 -1  1,-1 -1  1,
  709.         -1 -1  1,-1 -1 -1,
  710.           ]
  711.     }
  712.     LineSet {
  713.     numVertices [ 2, 2, 2, 2, 2, 2, 2, 2 ]
  714.     }
  715.  
  716.     USE SO_BOX_DRAGGER_TRANSLATOR_STYLE_ACTIVE
  717.     Coordinate3 {
  718.     point [ 
  719.         -1  1 -1, 1  1 -1,  1  1 -1, 1  1  1,
  720.          1  1  1,-1  1  1, -1  1  1,-1  1 -1,
  721.           ]
  722.     }
  723.     LineSet {}
  724. }
  725.  
  726. # A purple box made of lines.
  727. DEF boxScaleBoxFeedback Separator {
  728.     renderCaching ON
  729.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  730.     DrawStyle { style LINES lineWidth 1 }
  731.  
  732.     Cube {}
  733. }
  734.  
  735. DEF boxPosXWallFeedback Separator {
  736.     renderCaching ON
  737.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  738.     Material { diffuseColor    ~ emissiveColor    ~ transparency 0.5 }
  739.     Coordinate3 { point [ 1 1 1, 1 1 -1, 1 -1 -1, 1 -1 1 ] }
  740.     FaceSet {}
  741. }
  742. DEF boxPosYWallFeedback Separator {
  743.     renderCaching ON
  744.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  745.     Material { diffuseColor    ~ emissiveColor    ~ transparency 0.5 }
  746.     Coordinate3 { point [ 1 1 1, -1 1 1, -1 1 -1, 1 1 -1 ] }
  747.     FaceSet {}
  748. }
  749. DEF boxPosZWallFeedback Separator {
  750.     renderCaching ON
  751.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  752.     Material { diffuseColor    ~ emissiveColor    ~ transparency 0.5 }
  753.     Coordinate3 { point [ 1 1 1, 1 -1 1, -1 -1 1, -1 1 1 ] }
  754.     FaceSet {}
  755. }
  756. DEF boxNegXWallFeedback Separator {
  757.     renderCaching ON
  758.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  759.     Material { diffuseColor    ~ emissiveColor    ~ transparency 0.5 }
  760.     Coordinate3 { point [ -1 1 1, -1 1 -1, -1 -1 -1, -1 -1 1 ] }
  761.     FaceSet {}
  762. }
  763. DEF boxNegYWallFeedback Separator {
  764.     renderCaching ON
  765.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  766.     Material { diffuseColor    ~ emissiveColor    ~ transparency 0.5 }
  767.     Coordinate3 { point [ 1 -1 1, -1 -1 1, -1 -1 -1, 1 -1 -1 ] }
  768.     FaceSet {}
  769. }
  770. DEF boxNegZWallFeedback Separator {
  771.     renderCaching ON
  772.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  773.     Material { diffuseColor    ~ emissiveColor    ~ transparency 0.5 }
  774.     Coordinate3 { point [ 1 1 -1, 1 -1 -1, -1 -1 -1, -1 1 -1 ] }
  775.     FaceSet {}
  776. }
  777.  
  778. DEF boxPosXRoundWallFeedback Separator {
  779.     # No render caching, since antiSquish always blows cache when
  780.     # shown as feedback (when matrix affecting it is constantly changing)
  781.     renderCaching OFF
  782.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  783.     Transform { rotation 0 0 1 1.57079 translation 1 0 0 }
  784.     AntiSquish {}
  785.     Coordinate3 { point [ -1 0 0, 1 0 0, 0 0 -1, 0 0 1, 0 -1 0, 0 1 0 ] }
  786.     LineSet { numVertices [ 2, 2, 2 ] }
  787. #    Sphere { radius .25 }
  788. }
  789. DEF boxPosYRoundWallFeedback Separator {
  790.     # No render caching, since antiSquish always blows cache when
  791.     # shown as feedback (when matrix affecting it is constantly changing)
  792.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  793.     Translation { translation 0 1 0 }
  794.     AntiSquish {}
  795.     Coordinate3 { point [ -1 0 0, 1 0 0, 0 0 -1, 0 0 1, 0 -1 0, 0 1 0 ] }
  796.     LineSet { numVertices [ 2, 2, 2 ] }
  797. #    Sphere { radius .25 }
  798. }
  799. DEF boxPosZRoundWallFeedback Separator {
  800.     # No render caching, since antiSquish always blows cache when
  801.     # shown as feedback (when matrix affecting it is constantly changing)
  802.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  803.     Transform { rotation 1 0 0 1.57079 translation 0 0 1 }
  804.     AntiSquish {}
  805.     Coordinate3 { point [ -1 0 0, 1 0 0, 0 0 -1, 0 0 1, 0 -1 0, 0 1 0 ] }
  806.     LineSet { numVertices [ 2, 2, 2 ] }
  807. #    Sphere { radius .25 }
  808. }
  809. DEF boxNegXRoundWallFeedback Separator {
  810.     # No render caching, since antiSquish always blows cache when
  811.     # shown as feedback (when matrix affecting it is constantly changing)
  812.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  813.     Transform { rotation 0 0 1 1.57079 translation -1 0 0 }
  814.     AntiSquish {}
  815.     Coordinate3 { point [ -1 0 0, 1 0 0, 0 0 -1, 0 0 1, 0 -1 0, 0 1 0 ] }
  816.     LineSet { numVertices [ 2, 2, 2 ] }
  817. #    Sphere { radius .25 }
  818. }
  819. DEF boxNegYRoundWallFeedback Separator {
  820.     # No render caching, since antiSquish always blows cache when
  821.     # shown as feedback (when matrix affecting it is constantly changing)
  822.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  823.     Translation { translation 0 -1 0 }
  824.     AntiSquish {}
  825.     Coordinate3 { point [ -1 0 0, 1 0 0, 0 0 -1, 0 0 1, 0 -1 0, 0 1 0 ] }
  826.     LineSet { numVertices [ 2, 2, 2 ] }
  827. #    Sphere { radius .25 }
  828. }
  829. DEF boxNegZRoundWallFeedback Separator {
  830.     # No render caching, since antiSquish always blows cache when
  831.     # shown as feedback (when matrix affecting it is constantly changing)
  832.     USE SO_BOX_DRAGGER_FEEDBACK_STYLE
  833.     Transform { rotation 1 0 0 1.57079 translation 0 0 -1 }
  834.     AntiSquish {}
  835.     Coordinate3 { point [ -1 0 0, 1 0 0, 0 0 -1, 0 0 1, 0 -1 0, 0 1 0 ] }
  836.     LineSet { numVertices [ 2, 2, 2 ] }
  837. #    Sphere { radius .25 }
  838. }
  839.  
  840. DEF boxLocateMaterial Material {
  841.     emissiveColor .8 .3 .1
  842.     diffuseColor .8 .3 .1
  843. }
  844.